package com.coffee.wx.service;

import jakarta.servlet.http.HttpServletRequest;

import java.util.Map;

/**
 * 微信服务接口
 */
public interface IWxService {

    /**
     * 解析微信推送的信息
     *
     * @param request
     * @return
     */
    Map<String, Object> readRequestBody(HttpServletRequest request);

    /**
     * 构建回复微信的信息
     *
     * @param xml
     * @return
     */
    String buildResponse(Map<String, Object> xml);

    /**
     * 验证消息的确来自微信服务器
     *
     * @param signature 微信加密签名，signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
     * @param timestamp 时间戳
     * @param nonce     随机数
     * @param echostr   随机字符串
     * @return
     */
    String bindCheck(String signature, String timestamp, String nonce, String echostr);
}
